package com.xb.loan.fund.service;


import com.xb.loan.fund.service.bean.CashManualChargeVO;
import com.xb.loan.log.exception.BizException;

import java.util.List;
import java.util.Map;


/**
 * 
 * 用户手工缴款服务
 */
public interface ICashManualChargeService {
	
	/**
	 * 线下充值申请
	 * @param cashManualChargeVO
	 * @throws BizException
	 */
	public String manualCharge(CashManualChargeVO cashManualChargeVO) throws BizException;

	/**
	 * 线下充值审核
	 * @param manualChargeId 主键
	 * @param approveResult 值集：fundConst.Approve_*
	 * @param statusReason 状态原因
	 * @return 
	 * @throws BizException
	 */
	public void approveManualCharge(String manualChargeId, int approveResult, String statusReason, int userLevel) throws BizException;

    /**
     * 按天，统计手工充值信息
     * @return
     */
    List<Map<String,Object>> statManualChargeDay(Map<String, Object> params);

	/**
	 *
	 * 渠道手工缴款审核查询-带数据权限
	 * @param statusStr
	 * @param startDate
	 * @param endDate
	 * @param accessSQL
	 * @param pageNum
	 * @param numPerPage
	 * @return
	 */
	public List<Map<String,Object>> queryCashChargeOfflineAccess(String partnerId, String chargeType, String statusStr, String startDate,
                                                                 String endDate, String accessSQL, int pageNum, int numPerPage);
	/**
	 *
	 * 渠道手工缴款审核查询数量-带数据权限
	 * @param statusStr
	 * @param startDate
	 * @param endDate
	 * @param accessSQL
	 * @return
	 * 2015年11月19日 by zhangyi
	 */
	public int queryCashChargeOfflineCountAccess(String partnerId, String chargeType, String statusStr, String startDate,
                                                 String endDate, String accessSQL);

	/**
	 * 按起始结束时间分页查询手工充值
	 * @param startDate
	 * @param endDate
	 * @param pageNum
	 * @param numPerPage
	 * @return
	 */
	public List<CashManualChargeVO> queryCashManualChargeList(Integer userType, String startDate,
                                                              String endDate, int pageNum, int numPerPage);
}
